home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
t3_1
/
doc.lha
/
documentation
/
manual
/
tman.lib
< prev
next >
Wrap
Text File
|
1987-06-30
|
9KB
|
299 lines
@marker[LIBRARY, tman] @Comment{-*-System:TMAN-*-}
@comment{
T Manual Conventions
- Always refer to the language as @tau[] and the implementations
as @timp[]
- Use square brackets for as many delimiters as possible particularly in
running text. Exceptions:
- Use double quotes for the @qu
- Use curly braces for comments
- To put something in the code font, use the @tc[...] form
- Put all scribe commands in lower case unless mixed case is needed
to separate component words
- Two spaces after periods (Scribe needs this to see a sentence break)
- Section titles should be capitalized as if they were sentences
- Leave a blank line before the @begin and after the @end when possible,
and generally try to make the manual sources readable
}
@style[spacing .9]
@modify[itemize, spacing .9]
@modify[description, spacing .9]
@modify[enumerate, spacing .9]
@style[indent 0]
@style[bibselect cited]
@style[references = STDalphabetic]
@style[time = "4:30 PM"]
@modify[HD1, below 1.2, PageBreak before]
@modify[HD1A, below 1.2, PageBreak before]
@define[HD1B=HD1A, PageBreak UntilOdd]
@modify[HD2, below .8, need 4]
@modify[HD3, below .8]
@Counter[XPrefaceSection,TitleEnv HD1A,Alias Chapter]
@Modify[PrefaceSection, TitleEnv HD1B] @Comment{for Table of Contents}
@define[ChpEnv=HD1, spacing 0.3]
@define[AppEnv=HD1A, spacing 1]
@define[smaller, size -1]
@define[small, size 8]
@define[stc=tc, size -1]
@modify[MajorPart, numbered [@I:], referenced [@I],
ContentsForm "@TC0[@parm[referenced] @parm[title]@]. @\@rfstr[@parm[page]]]",
TitleForm "@HD1A[Part @parm[numbered] @parm[title]]" ]
@modify[chapter, numbered [@1],
TitleForm "@ChpEnv[Chapter @parm[referenced]@>@parm[title]@*@&_@hsp[-10pt]]"
]
@modify[appendix, numbered [@A.], referenced [@A],
ContentsForm
"@tc1[Appendix @parm(referenced): @parm(title)@). @\@rfstr(@parm(page))]",
TitleForm
"@ChpEnv[Appendix @parm[referenced]@>@parm[title]@*@&_@hsp[-10pt]]"
]
@modify[UnNumbered,
TitleForm "@ChpEnv[@>@parm[title]@*@&_@hsp[-10pt]]"
]
@define[TEG=ProgramExample]
@define[SmallTEG=ProgramExample, size -1]
@comment { Macros --
@wt[CODE] - for a small piece of CODE that can't be broken across a line
@termi[TERM] - index TERM; put it in the text in bold italics
@ix[TERM] - index TERM; put it in the text as is
@iix[TERM] - index TERM; put it in the text in italics
@iixs[TERM] - index TERMs; put TERM in the text in italics
@tindex[TERM]- index TERM in the code font
@tix[TERM] - index TERM in code font; put it in the text in code font
@SmCaps[TEXT] - put TEXT in Small Caps, uncapitalized, in SIZE -1
@LightBar[] - draw a line across the current environment, maybe
not as dark as @crossbar (device dependent)
@CrossBar[] - draw a line across the current environment
@PHeading[FOO] - sets the new page heading, puts FOO in the chapter position
@PFooting[] - sets the page footing
@chap[CHAPTERNAME] - start a new chapter, frobs heads
@XMajorPart[] - start a major part, frobs heads
@dc[COMMENT] - COMMENT will appear in the text if DRAFT = 1
-- See TMAC.LIB for device dependent macros --
-- Should the @wt command do a "spaces kept"? It did before, but then
it was losing.
}
@textform (
wt = "@begin[w]@tc[@parm[text]]@end[w]",
termi = "@i@parmquote[text]@index@parmquote[text]",
ix = "@parm[text]@index@parmquote[text]",
iix = "@i@parmquote[text]@index@parmquote[text]",
iixs = "@i@parmquote[text]@index[@parm[text]s]",
tix = "@tc@parmquote[text]@tindex@parmquote[text]",
tindex= "@IndexEntry{key=@parmquote[text],text=[@TC@parmquote[text]],number}",
tindexhack = "@IndexEntry{key='@parm[text]$',text=[@TC'@parm[text]'],number}",
SmCaps = "@begin[C, size -1]@parm[text]@end[C]",
crossbar = "@begin[format, above 0, below 0]@&_@hsp[-10pt]@end[format]",
)
@comment{ device dependent macros are in tmac.lib }
@define [IndexEnv, Break, CRBreak, Fill, BlankLines Kept,
Font BodyFont, Facecode R, Spread 0, Spacing 1, Size 10,
Spaces Kept, LeftMargin 8, Indent -8,
Columns 2, ColumnMargin 0.5inch,
Linewidth 3inches, Boxed]
@LibraryFile[IndexHeadings]
@modify[IndexHeading, referenced "@@b[@@ @@ @@dash[] @A @@dash[]]" ]
@GenerateIndexHeadings[]
@style(DoubleSided)
@textform (PHeading = <
@PageHeading(even, left "@value(page)@hsp(1em)@ @value(SectionTitle)",
right "@SmCaps(The @TAU() Manual)")
@PageHeading(odd, left "@SmCaps(The @TAU() Manual)",
right "@parm[text]@hsp(1em)@ @ @value(page)")
>)
@textform (PFootingDraft = <
@PageFooting(even, left "@small[DRAFT]",
right "@small[@Value(SourceFile)]")
@PageFooting(odd, right "@small[DRAFT]",
left "@small[@Value(SourceFile)]")
>)
@textform (PFootingNoDraft = <
@PageFooting(even, left "", right "")
@PageFooting(odd, right "", left "")
>)
@case(draft, 1 = ' @textform(PFooting = "@PFootingDraft[]") ',
else= ' @textform(PFooting = "@PFootingNoDraft[]") '
)
@Comment{ @chap(foo) turns off running head of the current page, and sets
the heading to the new chapter name }
@textform (chap = <
@chapter@parmquote[text]
@PageHeading[immediate, left "", center "", right ""]
@PageFooting[immediate, left "", center "@value(page)", right ""]
@PHeading@parmquote[text]
@PFooting[]
>)
@textform (XMajorPart = <
@PHeading@parmquote[text]
@MajorPart@parmquote[text]
>)
@case(draft, 1 = ' @textform(dc = "[@DraftCommentMarker[]@parm[text]]") ',
else= ' @textform ( dc = "@comment[]" ) '
)
@Comment{** Add a Reference Card Entry Macros **}
@Form(ABriefE={})
@Form(ABriefC={})
@TextForm(AnEquivE="")
@Comment{** The INSET Command Definitions **}
@Define(InsetEnv=Quotation, LeftMargin +5, RightMargin +0,
Above 0, Below 1, Size -2, Spread .5, spacing .9)
@TextForm( BeginInset = {
@Begin(InsetEnv)
@Begin(Multiple, Break After)
@\@Imbed(Text, def "@b(@Parm(text)) ", undef "@b(Note:) ")@~
})
@TextForm ( EndInset = "@End(Multiple) @End(InsetEnv)" )
@Comment{ Scribe questions: How to you get multiple indices?
How do you get numbers in the index to
be different fonts?
Why hasn't somebody organized all this
stuff for me already?
Get Steele's stuff for the Common Lisp manual
}
@Comment{** The DESC Command Definitions **
The INFO takes an optional keyworded argument, and an optional keyword:
NOTES="string" -- STRING will be flushed right in the function header line
NL -- if present, the function described will not be labelled
IndexHack -- if present the described item will be indexed as if it
had a $ appended to it.
}
@Define(DescriptionEnv=Text, LeftMargin +5, RightMargin +0, Above .5, Below 1.5,
Indent 0)
@form(info = {
@string(TmpNote='@parm(NOTES, default=())')
@string(TmpLabelP='@imbed(NL, def "false", undef "true")')
@string(TmpIndexHack='@imbed(IndexHack, def "true", undef "false")')
} )
@Info() @Comment{intialize string values}
@comment{
@desc[(LIST . @i[objects]) @yl[] @i[list]]
<description>
@EndDesc[LIST]
@descN[F1="(ADD ...) @yl ...", FN1="ADD",
F2="(+ ...) ", FN2="+", NL2,
...]
<description>
@EndDescN[]
Fn - the function header line
FNn - the name to index and label
NLn - if present, FNn will not be labelled
current N can be at most 6
}
@TextForm( desc = {
@begin[transparent, need 3]
@begin[format, continue]
@tc[@parm[text,default=[**manuscript-error**]]]@>@i[@Value[TmpNote]]
@end[format]
@begin[DescriptionEnv]
})
@TextForm( EndDesc = {
@case[TmpIndexHack, true "@tindexhack@parmquote[text]",
false "@tindex@parmquote[text]"]@~
@case[TmpLabelP, true "@label@ParmQuote[TEXT]", false ""]@~
@string[TmpNote=""]
@string[TmpLabelP="true"]
@string[TmpIndexHack="false"]
@end[DescriptionEnv]
@end[transparent]
})
@form( descN = {
@begin[transparent, need 5]
@begin[format, continue]
@imbed[F1, def "@tc[@parm[F1]]@>@i[@value[TmpNote]]", undef "@~"]
@imbed[F2, def "@tc[@parm[F2]]", undef "@~"]
@imbed[F3, def "@tc[@parm[F3]]", undef "@~"]
@imbed[F4, def "@tc[@parm[F4]]", undef "@~"]
@imbed[F5, def "@tc[@parm[F5]]", undef "@~"]
@imbed[F6, def "@tc[@parm[F6]]", undef "@~"]
@imbed[FN1, def "@tindex[@parm[FN1]]@~
@imbed[NL1, undef '@label@ParmQuote[FN1]', def '']",
undef ""]@~
@imbed[FN2, def "@tindex[@parm[FN2]]@~
@imbed[NL2, undef '@label@ParmQuote[FN2]', def '']",
undef ""]@~
@imbed[FN3, def "@tindex[@parm[FN3]]@~
@imbed[NL3, undef '@label@ParmQuote[FN3]', def '']",
undef ""]@~
@imbed[FN4, def "@tindex[@parm[FN4]]@~
@imbed[NL4, undef '@label@ParmQuote[FN4]', def '']",
undef ""]@~
@imbed[FN5, def "@tindex[@parm[FN5]]@~
@imbed[NL5, undef '@label@ParmQuote[FN5]', def '']",
undef ""]@~
@imbed[FN6, def "@tindex[@parm[FN6]]@~
@imbed[NL6, undef '@label@ParmQuote[FN6]', def '']",
undef ""]@~
@end[format]
@begin[DescriptionEnv]
})
@form( EndDescN = {
@string[TmpNote=""]
@end[DescriptionEnv]
@end[transparent]
})